import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IToplistPrx } from "./IToplistPrx";
import { AMI_IToplist_getEquipScoreInfo } from "./AMI_IToplist_getEquipScoreInfo";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { DictSGetEquipScoreInfoHelper } from "../Public/DictSGetEquipScoreInfoHelper";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IToplist_getMyToplistRank } from "./AMI_IToplist_getMyToplistRank";
import { AMI_IToplist_getToplist } from "./AMI_IToplist_getToplist";
import { AMI_IToplist_getToplistByPage } from "./AMI_IToplist_getToplistByPage";
type int = number;
//class IToplistPrxHelper
    
    export  class IToplistPrxHelper extends RMIProxyObject implements IToplistPrx
    {
        constructor()
        {
            
            super();name = "IToplist";
            return;
        }

        public getEquipScoreInfo_async(arg1: AMI_IToplist_getEquipScoreInfo, arg2: int, arg3: Map<any, any> /* flash.utils.Dictionary */): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getEquipScoreInfo");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            DictSGetEquipScoreInfoHelper.write(loc3, arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyToplistRank_async(arg1: AMI_IToplist_getMyToplistRank): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyToplistRank");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getToplist_async(arg1: AMI_IToplist_getToplist, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getToplist");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getToplistByPage_async(arg1: AMI_IToplist_getToplistByPage, arg2: int, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getToplistByPage");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IToplist";
    }
